home *** CD-ROM | disk | FTP | other *** search
/ Champak 62 / Volume 62 - JOGO DISK .iso / Games / penguin_dinner.swf / scripts / __Packages / classes / ui / TextButton.as < prev    next >
Text File  |  2008-03-17  |  4KB  |  131 lines

  1. class classes.ui.TextButton extends classes.ui.AbstractWidget
  2. {
  3.    var upStateColor = 0;
  4.    var overStateColor = 16777215;
  5.    var pulsingCount = 0;
  6.    static var CLICK = "click";
  7.    static var ROLL_OVER = "roll_over";
  8.    static var ROLL_OUT = "roll_out";
  9.    function TextButton()
  10.    {
  11.       super();
  12.       if(this.initAppearStyle != "none")
  13.       {
  14.          this._visible = false;
  15.          var _loc5_ = this._x;
  16.          var _loc4_ = this._y;
  17.          switch(this.initAppearStyle)
  18.          {
  19.             case "top":
  20.                this._y = -50;
  21.                break;
  22.             case "bottom":
  23.                this._y = 450;
  24.                break;
  25.             case "left":
  26.                this._x = -50;
  27.                break;
  28.             case "right":
  29.                this._x = 650;
  30.          }
  31.          var _loc3_ = com.potapenko.managers.Conv.create();
  32.          _loc3_.addPause(String(this.initAppearDelay));
  33.          _loc3_.put(this,"_visible",0,true);
  34.          _loc3_.anim(this,{_x:_loc5_,_y:_loc4_},{speed:5,to_end:true,scale:false,delta:null,duration:null,notSwap:true,frame_value:"1",easing:mx.transitions.easing.Elastic.easeOut});
  35.       }
  36.       if(this.pulsing)
  37.       {
  38.          this.startLocalLoop(this.update);
  39.       }
  40.    }
  41.    function update()
  42.    {
  43.       var _loc3_ = 1.4 + 0.4 * Math.sin(this.pulsingCount);
  44.       this.pulsingCount += 0.2;
  45.       var _loc2_ = new Array();
  46.       _loc2_ = _loc2_.concat([_loc3_,0,0,0,0]);
  47.       _loc2_ = _loc2_.concat([0,_loc3_,0,0,0]);
  48.       _loc2_ = _loc2_.concat([0,0,_loc3_,0,0]);
  49.       _loc2_ = _loc2_.concat([0,0,0,1,0]);
  50.       this.filters = [new flash.filters.ColorMatrixFilter(_loc2_)];
  51.    }
  52.    function lock()
  53.    {
  54.       this.labelField.textColor = this.upStateColor;
  55.       super.lock();
  56.    }
  57.    function set label($label)
  58.    {
  59.       this.labelField.text = $label;
  60.    }
  61.    function get label()
  62.    {
  63.       return this.labelField.text;
  64.    }
  65.    function set upColor($color)
  66.    {
  67.       this.upStateColor = $color;
  68.       this.labelField.textColor = this.upStateColor;
  69.    }
  70.    function set overColor($color)
  71.    {
  72.       this.overStateColor = $color;
  73.    }
  74.    function set align($align)
  75.    {
  76.       this.labelField.autoSize = $align;
  77.    }
  78.    function set appearStyle($appearStyle)
  79.    {
  80.       this.initAppearStyle = $appearStyle;
  81.    }
  82.    function set appearDelay($delay)
  83.    {
  84.       this.initAppearDelay = $delay;
  85.    }
  86.    function set isPulsing($pulsing)
  87.    {
  88.       this.pulsing = $pulsing;
  89.    }
  90.    function onRollOver()
  91.    {
  92.       if(this.locked)
  93.       {
  94.          return undefined;
  95.       }
  96.       this.labelField.textColor = this.overStateColor;
  97.       this.dispatchEvent(new classes.events.WidgetEvent(this,classes.ui.TextButton.ROLL_OVER));
  98.    }
  99.    function onRelease()
  100.    {
  101.       if(this.locked)
  102.       {
  103.          return undefined;
  104.       }
  105.       classes.core.SoundManager.getInstance().startSound("click_game_object");
  106.       this.deactivate();
  107.       this.dispatchEvent(new classes.events.WidgetEvent(this,classes.ui.TextButton.CLICK));
  108.    }
  109.    function onRollOut()
  110.    {
  111.       this.deactivate();
  112.    }
  113.    function onDragOut()
  114.    {
  115.       this.deactivate();
  116.    }
  117.    function onReleaseOutside()
  118.    {
  119.       this.deactivate();
  120.    }
  121.    function deactivate()
  122.    {
  123.       if(this.locked)
  124.       {
  125.          return undefined;
  126.       }
  127.       this.labelField.textColor = this.upStateColor;
  128.       this.dispatchEvent(new classes.events.WidgetEvent(this,classes.ui.TextButton.ROLL_OUT));
  129.    }
  130. }
  131.